#include <stdio.h>
//打印菱形
// int main()
// {
//     int i = 0;
//     for(i = 0;i < 13;i++)
//     {
//         int j = 0;
//         for(j=0;j<13;j++)
//         {
//             if(i<=6)
//             {
//                 if(j>=6-i&&j<=6+i)
//                 {
//                     printf("*");
//                 }
//                 else
//                 {
//                     printf(" ");
//                 }
//             } 
//             else
//             {
//                 if(j>=i-6&&j<=18-i)
//                 {
//                     printf("*");
//                 }
//                 else
//                 {
//                     printf(" ");
//                 }

//             }
//         }
//         printf("\n");
//     }
//     return 0;
// }

// //改为任意行的菱形
// //       *      
// //      ***
// //     *****
// //    *******
// //   *********
// //  ***********
// // *************
// //  ***********
// //   *********
// //    *******
// //     *****
// //      ***
// //       *
// int main()
// {
//     //上半部分规律相同 为line行
//     //下半部分规律相同，为line-1行
//     int line = 0;
//     scanf("%d",&line);
//     int i = 0;
//     int j = 0;
//     //上半部分打印一行
//     for(i = 0;i < line;i++)
//     {
//         //先输出前面的空格，以line=7为例 第0行为6个空格，第一行为5个。。。
//         for(j = 0;j < line-1-i ;j++)
//         {
//             printf(" ");
//         }
//         //输出*号，以line=7为例 第0行为1个*，第一行为3个*。。
//         for(j = 0;j < 2*i+1 ;j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
//     //输出下半部分的一行
//     for(i = 0;i < line-1;i++)
//     {
//         //先输出前面的空格，以line=7为例 第0行为1个空格，第1行为2个。。。
//         for(j = 0;j < i+1 ;j++)
//         {
//             printf(" ");
//         }
//         //输出*号，以line=7为例 第1行为11个，第2行为9个。。。
//         for(j = 0;j < 2*(line - 1 - i) - 1;j++)//这里最难想
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
//     return 0;





//喝汽水问题，一瓶汽水一元，两个空瓶可以换一瓶汽水，给20元，问可以喝多少汽水
int main()
{
    int money = 0;
    scanf("%d",&money);
    int sum = money;
    int empty = money;
    while(empty > 1)
    {
        sum += empty/2;
        //empty = empty/2;错误 可能剩余单数个空瓶子
        empty = empty/2 + empty%2;
    }
    printf("%d\n",sum);//实际可以推导出sum = 2 * money - 1；
    return 0;
}